package dao.StoreDao;

import common.model.Entity.StoreEntity.CartItem;
import dao.BaseDao;

import java.util.List;
import java.util.Optional;

/**
 * 购物车项数据访问接口，提供购物车项相关的数据库操作
 */
public interface CartItemDao extends BaseDao<CartItem, Long> {
    /**
     * 根据购物车ID查询购物车项列表
     *
     * @param cartId 购物车ID
     * @return 购物车项列表
     */
    List<CartItem> findByCart(Long cartId);

    /**
     * 根据购物车ID和商品ID查询购物车项
     *
     * @param cartId 购物车ID
     * @param productId 商品ID
     * @return 包含购物车项的Optional对象，如果存在则返回购物车项，否则返回空Optional
     */
    Optional<CartItem> findByCartAndProduct(Long cartId, Long productId);
}